﻿
Public Interface IRepository(Of T As IAggregateRoot)

    Sub Save(ByVal Entity As T)
    Sub Remove(ByVal Entity As T)
    Function FindBy(ByVal Id As Guid) As T
    Function FindBy(ByVal Query As Query) As IList(Of T)
    Function FindAll() As IList(Of T)
    Sub Inject(ByVal UnitOfWork As IUnitOfWork)

End Interface

